package {{basePackage}};

{{#config}}{{#objImports}}import {{.}};
{{/objImports}}{{/config}}
{{#containFileField}}import org.springframework.web.multipart.MultipartFile;{{/containFileField}}
/**
 * {{#desc}}{{.}}{{/desc}}{{^desc}}{{name}}{{/desc}}
{{#config}} *
 * @author {{author}}
 * @date {{date}}
{{/config}}
 */
public class {{name}}{{#templateTypes}}<{{.}}>{{/templateTypes}} {

{{#fields}}
    /**
    {{#desc}}
     * {{{desc}}}
    {{/desc}}
    {{^desc}}
     * {{name}}
    {{/desc}}
     */
    private {{{type}}} {{name}};

{{/fields}}
{{#fields}}
    public {{{type}}} get{{nameFirstUpper}}() {
        return {{name}};
    }

    public void set{{nameFirstUpper}}({{{type}}} {{name}}) {
        this.{{name}} = {{name}};
    }

{{/fields}}


    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{{name}}{");
        {{#fields}}        sb.append("{{name}}=").append({{name}}){{^isLast}}.append(","){{/isLast}};
        {{/fields}}        sb.append("}");
        return sb.toString();
    }

}
